function table.merge(org,des)
   for k,v in pairs(des) do
       org[k] = v ;
   end 
end


function table.addAll(org,des)
   for k,v in ipairs(des) do
       table.insert(org,v) ;
   end 
end

function table.getSize(t)
  local count = 0;
  for k,v in pairs(t or {}) do
    count = count + 1;
  end
  return count ;
end

function table.reverse(tab)
  local tmp = {}
  local k = 1 ;
  for i = #tab,1,-1  do
    tmp[k] = table.remove(tab,i) ;
    k = k + 1;
  end
  for _,v in ipairs(tmp) do
    table.insert(tab,v);
  end
  return tab
end

function table.addAllFirst(org,des)
   for k,v in ipairs(des) do
       table.insert(org,1,v) ;
   end 
end
